\hypertarget{class_graphic_element}{
\section{GraphicElement Class Reference}
\label{class_graphic_element}\index{GraphicElement@{GraphicElement}}
}


Classe mère abstraite servant de base aux différents éléments affichable de la scene OpenGL =============================================================================================================.  




{\ttfamily \#include $<$graphicElement.h$>$}

Inheritance diagram for GraphicElement:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.425076cm]{class_graphic_element}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{class_graphic_element_af68a8197e91979e43db47a83d761a87b}{UpdatePhysic} ()
\item 
void \hyperlink{class_graphic_element_a9d0f0c0342ba834dc9adb7331903e712}{SetLight} ()
\item 
\hypertarget{class_graphic_element_af2eba63f5f1fa33ef0affe8f88263765}{
void {\bfseries InitBooleans} ()}
\label{class_graphic_element_af2eba63f5f1fa33ef0affe8f88263765}

\item 
\hypertarget{class_graphic_element_a51ce147b8a2459f07eaf4a153f433e00}{
void {\bfseries AddAcceleration} (\hyperlink{class_vectorf}{Vectorf} $\ast$aAcceleration)}
\label{class_graphic_element_a51ce147b8a2459f07eaf4a153f433e00}

\item 
\hypertarget{class_graphic_element_a155f20df4d5ba0b9a7ec5b5e4b7d4daa}{
virtual void {\bfseries ResolvePhysic} ()}
\label{class_graphic_element_a155f20df4d5ba0b9a7ec5b5e4b7d4daa}

\item 
\hyperlink{class_graphic_element_a262edb89abe7865cb1eddeea7e01a566}{GraphicElement} (int typeObject)
\begin{DoxyCompactList}\small\item\em Initialise le type de l'objet dérivé \item\end{DoxyCompactList}\item 
\hyperlink{class_graphic_element_a96ab5386e6c1bcbf27e93ea28007a7ed}{GraphicElement} (int, \hyperlink{class_vectorf}{Vectorf} translation)
\begin{DoxyCompactList}\small\item\em Initialise le type de l'objet dérivé ainsi que sa position dans la scène openGL via une translation. \item\end{DoxyCompactList}\item 
\hypertarget{class_graphic_element_a62fede8b9020e2dad747a3241a52b8ec}{
{\bfseries GraphicElement} (int, \hyperlink{class_vectorf}{Vectorf} translation, \hyperlink{class_vectorf}{Vectorf} rotation)}
\label{class_graphic_element_a62fede8b9020e2dad747a3241a52b8ec}

\item 
\hypertarget{class_graphic_element_ab7b63f4c30093a3d7d33fecb729de474}{
virtual void \hyperlink{class_graphic_element_ab7b63f4c30093a3d7d33fecb729de474}{Display} ()=0}
\label{class_graphic_element_ab7b63f4c30093a3d7d33fecb729de474}

\begin{DoxyCompactList}\small\item\em Méthode virtuelle pure utilisé pour afficher les trucs. \item\end{DoxyCompactList}\item 
\hypertarget{class_graphic_element_a83cc510ca8403d98fac65c3c68d51c00}{
virtual void \hyperlink{class_graphic_element_a83cc510ca8403d98fac65c3c68d51c00}{Picking} ()=0}
\label{class_graphic_element_a83cc510ca8403d98fac65c3c68d51c00}

\begin{DoxyCompactList}\small\item\em Méthode virtuelle pure, utiliser pour afficher l'objet avec une unique couleur dans un espace d'affichage \char`\"{}caché\char`\"{} permettant ainsi de savoir si on a \char`\"{}cliquer\char`\"{} dessus depuis l'écran. \item\end{DoxyCompactList}\item 
\hypertarget{class_graphic_element_a00bb0e80f9c563c655485883405f8bb5}{
virtual void \hyperlink{class_graphic_element_a00bb0e80f9c563c655485883405f8bb5}{SetPicking} (unsigned char x, unsigned char y, unsigned char z)=0}
\label{class_graphic_element_a00bb0e80f9c563c655485883405f8bb5}

\begin{DoxyCompactList}\small\item\em Définit l'identifiant unique de l'objet, utilisé pour le picking. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_graphic_element_a5d7b08e9870d0a0386f97958dea1cfd4}{
\hyperlink{class_physic}{Physic} $\ast$ {\bfseries physic}}
\label{class_graphic_element_a5d7b08e9870d0a0386f97958dea1cfd4}

\item 
\hypertarget{class_graphic_element_aeb652d8dd0ff28dbf3febf0a6f8cf854}{
bool {\bfseries physicOn}}
\label{class_graphic_element_aeb652d8dd0ff28dbf3febf0a6f8cf854}

\item 
\hypertarget{class_graphic_element_aea02a74e89520a48a1659a060c7a074d}{
int {\bfseries kill}}
\label{class_graphic_element_aea02a74e89520a48a1659a060c7a074d}

\item 
GLuint \hyperlink{class_graphic_element_a20903bab7e3937f54a073e6b52256af4}{picking}
\item 
GLuint \hyperlink{class_graphic_element_a4c2efa8a8c6ff2123682e488cbebb9d2}{lightOn}
\item 
GLuint \hyperlink{class_graphic_element_a18efa5680e5834b48a9ff68e6dcf9063}{state}
\item 
GLuint \hyperlink{class_graphic_element_a11c6fcb6bb3c63ee7f8fd7b9640c8c29}{type}
\item 
\hyperlink{class_vectorf}{Vectorf} \hyperlink{class_graphic_element_a24edaabb1f4f66d5d6a4b7b45d4455ba}{pickingColor}
\item 
SDL\_\-Event $\ast$ \hyperlink{class_graphic_element_adce34838a192e983fddd4ee6921ecde6}{event}
\item 
std::vector$<$ \hyperlink{class_bounding_shape}{BoundingShape} $\ast$ $>$ \hyperlink{class_graphic_element_a12144735b42aae34b986ec1d14541fc7}{boundingShapes}
\item 
std::vector$<$ \hyperlink{class_action}{Action} $\ast$ $>$ \hyperlink{class_graphic_element_ae585067a491172acca6eb1b38076d25a}{actions}
\item 
\hyperlink{class_vbo}{Vbo} $\ast$ \hyperlink{class_graphic_element_a2bd2a584f6a73bfe68b394e21b63d829}{vbo}
\item 
\hyperlink{class_material}{Material} $\ast$ \hyperlink{class_graphic_element_a03c21d1b28754c1ac0fa11015f039fd9}{material}
\item 
\hypertarget{class_graphic_element_a78fe2d4944d99844ad407cccdad752ad}{
\hyperlink{class_vectorf}{Vectorf} $\ast$ {\bfseries translation}}
\label{class_graphic_element_a78fe2d4944d99844ad407cccdad752ad}

\item 
\hypertarget{class_graphic_element_abd56b41c1412d30587f4e3f21897ac46}{
\hyperlink{class_vectorf}{Vectorf} $\ast$ {\bfseries rotation}}
\label{class_graphic_element_abd56b41c1412d30587f4e3f21897ac46}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Classe mère abstraite servant de base aux différents éléments affichable de la scene OpenGL =============================================================================================================. ============================================================================================================= 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_graphic_element_a262edb89abe7865cb1eddeea7e01a566}{
\index{GraphicElement@{GraphicElement}!GraphicElement@{GraphicElement}}
\index{GraphicElement@{GraphicElement}!GraphicElement@{GraphicElement}}
\subsubsection[{GraphicElement}]{\setlength{\rightskip}{0pt plus 5cm}GraphicElement::GraphicElement (
\begin{DoxyParamCaption}
\item[{int}]{typeObject}
\end{DoxyParamCaption}
)}}
\label{class_graphic_element_a262edb89abe7865cb1eddeea7e01a566}


Initialise le type de l'objet dérivé 


\begin{DoxyParams}{Parameters}
{\em int} & typeObject : type de l'objet : rectangle, rectangle texturé, sprite etc \\
\hline
\end{DoxyParams}
\hypertarget{class_graphic_element_a96ab5386e6c1bcbf27e93ea28007a7ed}{
\index{GraphicElement@{GraphicElement}!GraphicElement@{GraphicElement}}
\index{GraphicElement@{GraphicElement}!GraphicElement@{GraphicElement}}
\subsubsection[{GraphicElement}]{\setlength{\rightskip}{0pt plus 5cm}GraphicElement::GraphicElement (
\begin{DoxyParamCaption}
\item[{int}]{typeObject, }
\item[{{\bf Vectorf}}]{translation}
\end{DoxyParamCaption}
)}}
\label{class_graphic_element_a96ab5386e6c1bcbf27e93ea28007a7ed}


Initialise le type de l'objet dérivé ainsi que sa position dans la scène openGL via une translation. 

Initialise le type de l'objet dérivé ainsi que sa position dans la scène openGL (translation)


\begin{DoxyParams}{Parameters}
{\em int} & typeObject : type de l'objet : rectangle, rectangle texturé, sprite \\
\hline
{\em \hyperlink{class_vectorf}{Vectorf}} & translation : coordonées pour la translation \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{class_graphic_element_a9d0f0c0342ba834dc9adb7331903e712}{
\index{GraphicElement@{GraphicElement}!SetLight@{SetLight}}
\index{SetLight@{SetLight}!GraphicElement@{GraphicElement}}
\subsubsection[{SetLight}]{\setlength{\rightskip}{0pt plus 5cm}void GraphicElement::SetLight (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_graphic_element_a9d0f0c0342ba834dc9adb7331903e712}
Activation de l'illumination de l'objet \hypertarget{class_graphic_element_af68a8197e91979e43db47a83d761a87b}{
\index{GraphicElement@{GraphicElement}!UpdatePhysic@{UpdatePhysic}}
\index{UpdatePhysic@{UpdatePhysic}!GraphicElement@{GraphicElement}}
\subsubsection[{UpdatePhysic}]{\setlength{\rightskip}{0pt plus 5cm}void GraphicElement::UpdatePhysic (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_graphic_element_af68a8197e91979e43db47a83d761a87b}
Lance la fonction gérant la physique 

\subsection{Member Data Documentation}
\hypertarget{class_graphic_element_ae585067a491172acca6eb1b38076d25a}{
\index{GraphicElement@{GraphicElement}!actions@{actions}}
\index{actions@{actions}!GraphicElement@{GraphicElement}}
\subsubsection[{actions}]{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf Action} $\ast$$>$ {\bf GraphicElement::actions}}}
\label{class_graphic_element_ae585067a491172acca6eb1b38076d25a}
Références aux actions ayant un lien avec l'objet \hypertarget{class_graphic_element_a12144735b42aae34b986ec1d14541fc7}{
\index{GraphicElement@{GraphicElement}!boundingShapes@{boundingShapes}}
\index{boundingShapes@{boundingShapes}!GraphicElement@{GraphicElement}}
\subsubsection[{boundingShapes}]{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf BoundingShape} $\ast$$>$ {\bf GraphicElement::boundingShapes}}}
\label{class_graphic_element_a12144735b42aae34b986ec1d14541fc7}
Liste de Bounding \hyperlink{class_box}{Box} pouvant être lié à l'objet \hypertarget{class_graphic_element_adce34838a192e983fddd4ee6921ecde6}{
\index{GraphicElement@{GraphicElement}!event@{event}}
\index{event@{event}!GraphicElement@{GraphicElement}}
\subsubsection[{event}]{\setlength{\rightskip}{0pt plus 5cm}SDL\_\-Event$\ast$ {\bf GraphicElement::event}}}
\label{class_graphic_element_adce34838a192e983fddd4ee6921ecde6}
Références aux événements SDL \hypertarget{class_graphic_element_a4c2efa8a8c6ff2123682e488cbebb9d2}{
\index{GraphicElement@{GraphicElement}!lightOn@{lightOn}}
\index{lightOn@{lightOn}!GraphicElement@{GraphicElement}}
\subsubsection[{lightOn}]{\setlength{\rightskip}{0pt plus 5cm}GLuint {\bf GraphicElement::lightOn}}}
\label{class_graphic_element_a4c2efa8a8c6ff2123682e488cbebb9d2}
Booléen utilisé pour savoir si l'objet utilise ou non un material pour l'illumination \hypertarget{class_graphic_element_a03c21d1b28754c1ac0fa11015f039fd9}{
\index{GraphicElement@{GraphicElement}!material@{material}}
\index{material@{material}!GraphicElement@{GraphicElement}}
\subsubsection[{material}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Material}$\ast$ {\bf GraphicElement::material}}}
\label{class_graphic_element_a03c21d1b28754c1ac0fa11015f039fd9}
Représente un materiau, valeur spéculaure, diffuse et ambiante de l'objet \hypertarget{class_graphic_element_a20903bab7e3937f54a073e6b52256af4}{
\index{GraphicElement@{GraphicElement}!picking@{picking}}
\index{picking@{picking}!GraphicElement@{GraphicElement}}
\subsubsection[{picking}]{\setlength{\rightskip}{0pt plus 5cm}GLuint {\bf GraphicElement::picking}}}
\label{class_graphic_element_a20903bab7e3937f54a073e6b52256af4}
Si la valeur est égale à 1, le picking a été défini, sinon 0 \hypertarget{class_graphic_element_a24edaabb1f4f66d5d6a4b7b45d4455ba}{
\index{GraphicElement@{GraphicElement}!pickingColor@{pickingColor}}
\index{pickingColor@{pickingColor}!GraphicElement@{GraphicElement}}
\subsubsection[{pickingColor}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vectorf} {\bf GraphicElement::pickingColor}}}
\label{class_graphic_element_a24edaabb1f4f66d5d6a4b7b45d4455ba}
Couleur utilisé pour identifier l'objet lors de l'étape du picking \hypertarget{class_graphic_element_a18efa5680e5834b48a9ff68e6dcf9063}{
\index{GraphicElement@{GraphicElement}!state@{state}}
\index{state@{state}!GraphicElement@{GraphicElement}}
\subsubsection[{state}]{\setlength{\rightskip}{0pt plus 5cm}GLuint {\bf GraphicElement::state}}}
\label{class_graphic_element_a18efa5680e5834b48a9ff68e6dcf9063}
Définit l'état de l'élément, si state = 0, l'objet est détruit \hypertarget{class_graphic_element_a11c6fcb6bb3c63ee7f8fd7b9640c8c29}{
\index{GraphicElement@{GraphicElement}!type@{type}}
\index{type@{type}!GraphicElement@{GraphicElement}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}GLuint {\bf GraphicElement::type}}}
\label{class_graphic_element_a11c6fcb6bb3c63ee7f8fd7b9640c8c29}
Identifie le sous-\/type de l'objet courant (rectangle, sphère etc ...) \hypertarget{class_graphic_element_a2bd2a584f6a73bfe68b394e21b63d829}{
\index{GraphicElement@{GraphicElement}!vbo@{vbo}}
\index{vbo@{vbo}!GraphicElement@{GraphicElement}}
\subsubsection[{vbo}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vbo}$\ast$ {\bf GraphicElement::vbo}}}
\label{class_graphic_element_a2bd2a584f6a73bfe68b394e21b63d829}
Contient les buffers des vbo 

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
sources/graphicElement/graphicElement.h\item 
sources/graphicElement/graphicElement.cpp\end{DoxyCompactItemize}
